package com.lboyang.common.dto;


import lombok.*;

import java.io.Serializable;

/**
 * @Description: 传输的请求对象
 * @Date 2021/9/11 20:31
 * @author: A.iguodala
 */
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Builder
@ToString
public class NrpcRequest implements Serializable {

    private static final long serialVersionUID = 1905122041950251207L;

    /**
     * 请求 ID
     */
    private String requestId;

    /**
     * 接口名字
     */
    private String interfaceName;

    /**
     * 方法名
     */
    private String methodName;

    /**
     * 方法参数列表
     */
    private Object[] parameters;

    /**
     * 方法参数列表类型
     */
    private Class<?>[] paramTypes;

    /**
     * 版本号
     */
    private String version;

    /**
     * 实现接口的具体类
     */
    private String group;

    /**
     * 获取服务名
     * @return
     */
    public String getRpcServiceName() {
        return this.getInterfaceName() + this.getGroup() + this.getVersion();
    }

}
